<!DOCTYPE html>


<html lang="en">
  

    <head>
      <meta charset="utf-8" />
        
      <meta
        name="viewport"
        content="width=device-width, initial-scale=1, maximum-scale=1"
      />
      <title>语文笔记整理v2 |  Hexo</title>
  <meta name="generator" content="hexo-theme-ayer">
      
      <link rel="shortcut icon" href="/favicon.ico" />
       
<link rel="stylesheet" href="/dist/main.css">

      <link
        rel="stylesheet"
        href="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/css/remixicon.min.css"
      />
      
<link rel="stylesheet" href="/css/custom.css">
 
      <script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
       
 

      <!-- mermaid -->
      
    <link rel="alternate" href="/atom.xml" title="Hexo" type="application/atom+xml">
</head>
  </html>
</html>


<body>
  <div id="app">
    
      
      <canvas width="1777" height="841"
        style="position: fixed; left: 0px; top: 0px; z-index: 99999; pointer-events: none;"></canvas>
      
    <main class="content on">
      <section class="outer">
  <article
  id="post-语文笔记整理v2"
  class="article article-type-post"
  itemscope
  itemprop="blogPost"
  data-scroll-reveal
>
  <div class="article-inner">
    
    <header class="article-header">
       
<h1 class="article-title sea-center" style="border-left:0" itemprop="name">
  语文笔记整理v2
</h1>
 

      
    </header>
     
    <div class="article-meta">
      <a href="/2021/10/24/%E8%AF%AD%E6%96%87%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86v2/" class="article-date">
  <time datetime="2021-10-24T08:06:25.000Z" itemprop="datePublished">2021-10-24</time>
</a>   
<div class="word_count">
    <span class="post-time">
        <span class="post-meta-item-icon">
            <i class="ri-quill-pen-line"></i>
            <span class="post-meta-item-text"> Word count:</span>
            <span class="post-count">3.9k</span>
        </span>
    </span>

    <span class="post-time">
        &nbsp; | &nbsp;
        <span class="post-meta-item-icon">
            <i class="ri-book-open-line"></i>
            <span class="post-meta-item-text"> Reading time≈</span>
            <span class="post-count">12 min</span>
        </span>
    </span>
</div>
 
    </div>
      
    <div class="tocbot"></div>




  
    <div class="article-entry" itemprop="articleBody">
       
  <h1 id="语文笔记整理V2"><a href="#语文笔记整理V2" class="headerlink" title="语文笔记整理V2"></a>语文笔记整理V2</h1><h2 id="基础部分"><a href="#基础部分" class="headerlink" title="基础部分"></a>基础部分</h2><h3 id="一、认识能力"><a href="#一、认识能力" class="headerlink" title="一、认识能力"></a>一、认识能力</h3><ol>
<li>理解：转述、概括</li>
<li>分析：部分与部分的内在联系</li>
<li>赏析：以某种标准在进行判断</li>
<li>创造：把所选要素按某种联系或目的组织起来</li>
</ol>
<h3 id="二、表达方式-（篇章）"><a href="#二、表达方式-（篇章）" class="headerlink" title="二、表达方式 （篇章）"></a>二、表达方式 （篇章）</h3><p>说明、记叙、议论、描写、抒情</p>
<ol>
<li>说明类：说明方法、说明顺序、说明语言特点、说明对象及特征</li>
<li>记叙类：事件、情节、文章、时间；外在线索：人、事、物；内在主题：内在联系（主题）</li>
<li>议论类：论点、论据、论证</li>
<li>描写类：动作、语言、神态、心理、肖像、环境</li>
<li>抒情类（情感不能泛化）：直接抒情（有关感情的词汇，以带有强烈情感为标志）；间接抒情（与景物相融合的描写）</li>
</ol>
<h3 id="三、表达技巧（段落、句群）"><a href="#三、表达技巧（段落、句群）" class="headerlink" title="三、表达技巧（段落、句群）"></a>三、表达技巧（段落、句群）</h3><ul>
<li>记叙类：悬念（悬而未决的疑念，在后文交代疑念为揭示悬念）、伏笔、照应、象征、联想</li>
<li>描写类：想象、渲染、烘托、对比、衬托、动静结合、多感官结合、虚实结合、正侧结合</li>
<li>抒情类：借景抒情、融情于景、以乐景写哀情、直抒胸臆</li>
</ul>
<h3 id="四、修辞手法（句子，句群）"><a href="#四、修辞手法（句子，句群）" class="headerlink" title="四、修辞手法（句子，句群）"></a>四、修辞手法（句子，句群）</h3><p>比喻、拟人、排比、夸张、对偶、设问、反问、反复、对比（既是表达技巧又是修辞）等（详见资料</p>
<h2 id="运用部分"><a href="#运用部分" class="headerlink" title="运用部分"></a>运用部分</h2><h3 id="一、理解"><a href="#一、理解" class="headerlink" title="一、理解"></a>一、理解</h3><p>1.理解题目：表层意义、深层意义<br>2. 概括人物形象：①形象概括 ②情节<br>3. 概括情节：①找线索（外在线索：时空、人物、事物、一句话，内在线索：情感或品质）②按某种情节结构对等划分（时空断裂、悬念与误会、主题统摄、欲扬先抑）③辨明“时、地、人、事、情”等诸多要素进行概括④当有多个不同事件时，找共性概括（内在联系）<br>4.事件：一个动作即为一个事件b.情节：两个及以上有因果联系的事件构成情节</p>
<h3 id="二、分析"><a href="#二、分析" class="headerlink" title="二、分析"></a>二、分析</h3><ol>
<li>题目作用<ol>
<li>   时间、地点表明故事时间、故事发生地点，统称环境  </li>
<li>   时、地、人、事、物都可能成为外在线索和写作对象</li>
<li>   出现了事件则交代了文章内容，两事件可能构成悬念</li>
<li>   情感类词汇暗示主题</li>
<li>   与文章内容的呼应</li>
<li>   新奇句式需要点明词语并说出效果或作用（如倒装句为强调）</li>
<li>   当题目在文中没有出现或出现次数较少时，如果是物就分析物的作用，如果是事就分析事的作用，加上“以xx为题，但在文中从未出现，构思新颖独特”</li>
<li>   通用：吸引读者兴趣（此为套话，不可独立成点，跟在其他点后面）<br>注：若题目是比喻，则需要辨明具体所指，然后按所指内容的作用来分析</li>
</ol>
</li>
<li>环境描写作用：<ol>
<li>   暗示人物命运；</li>
<li>   设置人物活动背景、交代环境；</li>
<li>   烘托人物心情，刻画人物形象（先有情感，再借景抒情）；</li>
<li>   为后文作铺垫；</li>
<li>   渲染气氛 ；</li>
<li>   推动故事情节发展</li>
</ol>
</li>
<li>人物描写作用：①作为文章线索贯穿全文；②故事的参与者，交代故事内容，也可推动故事情节发展 ；③人物形象刻画；④人物的精神品质映衬主题</li>
<li>情节作用：①对主题的深化；②对人物的刻画描写；③对主要情节作必要的补充、推动故事情节发展</li>
<li>句子的作用<br>结构上：开头①总领全文，引出下文 ②设置悬念，吸引读者兴趣 ③交代背景，埋下伏笔或做铺垫   中间：①承上启下    结尾：①总结全文，首尾呼应<br>内容上：①表达感情，塑造人物   ②画龙点睛，升华主题 ③交代内容</li>
<li>倒叙的作用：①引发悬念；②情节内容的交代与推动；③人物形象、文章主题 ；④行文造成波澜，避免呆板的平铺直叙，吸引读者兴趣</li>
<li>倒叙：将故事中间或结尾的部分进行提前叙述</li>
<li>插叙的作用：①推动故事情节发展，对主要情节做必要补充，丰富故事情节，使情节更完整，内容更充实；②衬托、刻画人物形象；③突出、深化文章主题；④使文章的行文结构富于变化，避免单一呆板的平铺直叙 </li>
<li>插叙：插入最早叙述时间的故事内容</li>
<li>物的作用：①线索；②情感转折；③象征</li>
<li>悬念的作用：①引起读者的注意与思考；②使情节跌宕起伏；③吸引读者兴趣</li>
<li>引用的作用：①增强文章的说服力②增添文章文采③突出人物形象④情节的补充与推动（必须引用为情节）</li>
<li>注意事项：<ol>
<li>原则：①优先考虑具体的描写或叙述；②其次考虑句子内容、段落或结构的补充推动；③最后考虑形象的刻画和主题的凸显</li>
<li>不能机械地套答案，要加以文章内容</li>
<li>人物形象必须抓大放小，抓住关键形象；社会背景又称社会环境，人物身份也属于人物</li>
<li>情节刻画性格，性格与主题一致，那么情节就对主题有贡献</li>
</ol>
</li>
</ol>
<h3 id="三、赏析"><a href="#三、赏析" class="headerlink" title="三、赏析"></a>三、赏析</h3><p>1.赏析题目：表层意、深层意、作用<br>2. 赏析关键句：①修辞、描写 ②语境 ③情感（品质、特点）<br>3. 赏析关键词：①词意（本意+文中意） ②修辞、描写③场景④情感（品质、特点）【①化抽象为具体，化心情为具体；②褒义贬用为讽刺，贬义褒用为诙谐；③大词小用，小词大用要具体分析，通常为强调】</p>
<h2 id="相关概念"><a href="#相关概念" class="headerlink" title="相关概念"></a>相关概念</h2><h3 id="一、表达技巧"><a href="#一、表达技巧" class="headerlink" title="一、表达技巧"></a>一、表达技巧</h3><ul>
<li>伏笔：必然的，为引出后文所设置的情节</li>
<li>铺垫：有可选择性，为引出后文所设置的情节</li>
<li> 渲染：正面描写</li>
<li>烘托：侧面描写</li>
<li>联想：由一事物想到另一存在的事物（真实的，存在的）</li>
<li>想象：由一事物想到另一不存在的事物（虚幻的，加工的）</li>
<li>虚实结合：真实的具体描写与抽象的述说结和起来</li>
<li>工笔细描：用细腻的笔触，精细地描绘，抓住事物的特征，浓墨重彩，着意刻画，入微地再现事物的特征、与细节描写相比，更加工整，它是细节描写中的一种、但更追求工整</li>
<li>类比：把道理从一个事物转移到另一个事物</li>
<li>对比：不带情感特点的比较，突出不同</li>
<li>衬托：在对比的前提上具有情感特点</li>
<li>正衬：用好的来衬托好的</li>
<li>反衬：用不好的突出好的</li>
<li>欲扬先抑：褒扬某人却不从褒扬处落笔，而是先从贬低、相反的贬义处落笔 </li>
<li>象征：一切形式对思想，有形对无形的约定俗成</li>
<li>托物言志：用物来表达情感</li>
<li>悬念：因为因果联系脱节而产生的吸引读者兴趣效果的情节</li>
<li>其他：开门见山、承上启下、首尾呼应，卒章显志，直抒胸意，情景交融，以乐景写哀情</li>
</ul>
<h3 id="二、其他"><a href="#二、其他" class="headerlink" title="二、其他"></a>二、其他</h3><ol>
<li>小标题的作用：和题目作用同</li>
<li>对比的作用：①使作品主题更突出②使人物形象更鲜明 ③使思想感情更深刻</li>
<li>第一人称叙述好处：①代入感强，使读者身临其境 ②便于抒情 ③叙述亲切自然</li>
<li>第三人称叙述好处：①叙述中立客观 ②增强故事可信度</li>
<li>礼貌原则：①自己多吃亏，别人多受益 ②谦虚 ③一致观点与同情</li>
<li>邀请四表：①表礼貌 ②表身份 ③表来意 ④来感谢</li>
</ol>
<h2 id="说明文部分"><a href="#说明文部分" class="headerlink" title="说明文部分"></a>说明文部分</h2><h3 id="一、说明方法"><a href="#一、说明方法" class="headerlink" title="一、说明方法"></a>一、说明方法</h3><h4 id="（一）说明方法：为了把事物的特征、形状、功能、性质等介绍清楚而采用的一些表达方式"><a href="#（一）说明方法：为了把事物的特征、形状、功能、性质等介绍清楚而采用的一些表达方式" class="headerlink" title="（一）说明方法：为了把事物的特征、形状、功能、性质等介绍清楚而采用的一些表达方式"></a>（一）说明方法：为了把事物的特征、形状、功能、性质等介绍清楚而采用的一些表达方式</h4><ol>
<li>列数字：用具体的数与来说明事物的外形或其他特点答题模板：用数据具体而准确地说明了事物X的特点，使说明更准确，更有说服力</li>
<li>举例子：为了说明事物的某一特点，选取一个或多个有代表性的事例加以说明<br>答题模板：举了x的例子，具体真实地说明了事物x的特点，从而使说明更具体更具有说服力</li>
<li>作比较：将两种相同或不同的事物或现象等加以比较来说明事物特征<br>答题模板：把x和X相比较，突出了被说明对象的x特点（地位、影响等），让人印象鲜明、深刻</li>
<li>打比方：通过比喻来说明事物的特征<br>答题模板：把x比作x，生动形象地说明了事物X的特点，增强了文章趣味性</li>
<li>分类别：根据事物的形状、性质、成因、功能等把事物分成若类，依类别说明<br>答题模板：对事物分门别类加以说明，使说明更有条理性（要具体阐述）</li>
<li>蓦状貌：通过描写具体事物的具体形状或面貌来说明事物的特征、注意区别其他说明方法，先满足其他说明方法，只能描摹具体对象</li>
<li>列图表：借助表格、插图、照片等加以说明<br>答题模板：运用画图表来说明，对事物的x加以说明，使说明更简明、条理、直观</li>
<li>引资料：引用一些文献资料、诗词、俗语、名人名言等来说明事物特征<br>答题模板：引用x的资料，说明了事物的x特征，使说明更生动形象（文学性资料）或更具体准确（新闻、数据等）</li>
<li>作诠释：对事物或事理的某些性质或特质作适当的分析说明（特点：人或事物所具有的独将地方）</li>
<li>下定义：用简洁明确的语言把事物的本质特征作概括说明（属加种差、全部列举）<br>答题模板：用简明科学的语言对x加以揭示，从而更科学、更本质、概括地揭示事物X的特点</li>
</ol>
<h4 id="（二）说明文的本质：客体→特征"><a href="#（二）说明文的本质：客体→特征" class="headerlink" title="（二）说明文的本质：客体→特征"></a>（二）说明文的本质：客体→特征</h4><p>只要出现了说明特征就一定出现说明方法</p>
<h3 id="二、说明文特点："><a href="#二、说明文特点：" class="headerlink" title="二、说明文特点："></a>二、说明文特点：</h3><h4 id="（一）语言严谨、准确、重思维的条理性和严密性"><a href="#（一）语言严谨、准确、重思维的条理性和严密性" class="headerlink" title="（一）语言严谨、准确、重思维的条理性和严密性"></a>（一）语言严谨、准确、重思维的条理性和严密性</h4><ol>
<li>词语在句子中的作用：①文本+限制 ②结合文中说明对象解释词语 ③体现说明文语言的准确性</li>
<li>句子的中的词能否删去：①不能 ②解释词义+限制 ③结合文中说明对象解释词语 ④删去后句子变成 ⑤该词体现说明文语言的准确性</li>
<li>替换词语：①不能 ②解释词义+限制 ③结合文中说明对象解释词语 ④替换后句子变成 ⑤该词体现了说明文语言的准确性</li>
<li>分析一句话的语言特点 ①找词 ②解释词义+限制 ③结合文中说明对象解释词语 ④该词体现说明文语言的准确性</li>
</ol>
<h3 id="（二）词的准确性"><a href="#（二）词的准确性" class="headerlink" title="（二）词的准确性"></a>（二）词的准确性</h3><ol>
<li>形容词：a.性质： 好的、坏的  b.状态：高、低、长短</li>
<li>副词：<ol>
<li>   表时间、频率：刚、当时、常常…</li>
<li>   表示方位、处所：这里，那里…</li>
<li>   表程度：最、几乎…</li>
<li>   表肯定或否定：一定、的确、绝对、绝不…</li>
<li>   表估计或推测：一般、大约、可能…</li>
<li>   表范围：一切、部分、所有、大部分…</li>
</ol>
</li>
</ol>
<h3 id="（三）生动性如何体现"><a href="#（三）生动性如何体现" class="headerlink" title="（三）生动性如何体现"></a>（三）生动性如何体现</h3><p>①修辞  ②表达技巧 ③描写性词语 ④句式变化</p>
<h2 id="议论文部分"><a href="#议论文部分" class="headerlink" title="议论文部分"></a>议论文部分</h2><h3 id="一、论点及论题"><a href="#一、论点及论题" class="headerlink" title="一、论点及论题"></a>一、论点及论题</h3><ol>
<li>论题：对于议论类文章而言就是作者论述的对象或范围。论题一般是一个词语、 短语或者一句话。</li>
<li>中心论点提出的方式<ul>
<li>   开门见山，提出论点</li>
<li>   通过名言警句提出论点</li>
<li>   讲述故事或提出一个问题（话题），提出论点</li>
<li>   摆出生活现象，提出论点</li>
<li>   运用比喻，引出论点</li>
<li>   归纳材料，引出论点</li>
<li>   标题中提出，即标题就是论点</li>
</ul>
</li>
</ol>
<h3 id="二、论证结构"><a href="#二、论证结构" class="headerlink" title="二、论证结构"></a>二、论证结构</h3><ol>
<li><p>论证的过程分析：（按照“首先”“然后”“最后”的逻辑顺序来叙述议论文的论证结构）</p>
<ul>
<li>提出问题（引论）</li>
<li>   分析问题（本论）</li>
<li>   解决问题（结论）</li>
</ul>
</li>
<li><p>议论文的文章结构分析</p>
<ul>
<li>逐层深入的论证结构，叫“纵式”</li>
<li>   并列展开的论证结构，叫“横式”</li>
</ul>
</li>
<li><p>论证方法及作用</p>
<ol>
<li>通用模板：运用了xx的论证方法+论证了xx观点+效果</li>
<li>举例论证：用确凿典型的/有代表性的事例或史实来证明论证的方法。 答题模板：运用了举例论证的论证方法，列举了xx事例，证明了xx论点，从而使论证更具体，更有说服力</li>
<li>道理论证：用经过验证的真理、原理、定律、公式、名言警句等来证明论点的方法。  答题模板：运用了道理论证的论证方法，引用了xx道理，论证了xx道理，使论证更具权威性，更有说服力。</li>
<li>对比论证：把两种矛盾或对立的事件（事理）加以对照比较，从正反两方面进行说理，从而揭示事理的本质的方法。 答题模板：运用了对比论证的论证方法，把xx和xx进行对比，突出强调了xx的道理，使论证更全面、更有说服力。</li>
<li>比喻论证：用打比方的方法来讲道理。 答题模板：运用了比喻论证的论证方法，将xx比作xx形象生动地论证了xx的道理，从而把抽象深奥的道理阐述得生动形象、浅显易懂。</li>
</ol>
</li>
</ol>
<h3 id="三、论据"><a href="#三、论据" class="headerlink" title="三、论据"></a>三、论据</h3><ol>
<li><p>论据有两类：事实论据（典型事例）和道理论据（定义、定理、名言警句、俗语谚语等）</p>
</li>
<li><p>概括事实论据：人物+事件</p>
</li>
<li><p>文章开头所列举的事例的作用：①引出中心论点（或论题）②充当文中论点的论据，增强说服力③增添文章的趣味性，吸引读者</p>
</li>
<li><p>议论文语言</p>
<ul>
<li>语言特点：①准确周密②逻辑性强③形象生动</li>
<li>答题模板：①解释词语本义和文中义（深层含义、引申义和比喻义）②该词体现了议论文语言的XX特点</li>
</ul>
</li>
</ol>
<h2 id="小说"><a href="#小说" class="headerlink" title="小说"></a>小说</h2><ol>
<li>情节安排<ol>
<li>全文有一波三折式，作用：引人入胜，扣人心弦，增强故事的戏剧性、可读性</li>
<li>开头、结尾有首尾呼应式，作用：使结构紧密、完整，</li>
<li>   开头有倒叙（悬念设疑）式，作用：制造悬念</li>
</ol>
</li>
<li>结尾的作用：<ul>
<li>出人意料的：①结构上，使情节波澜起伏，产生震撼人心的力量②内容上，与前文的伏笔相照应，使人觉得虽是意料之外又在情理之中③主题上，更好地深化主题。</li>
<li>   令人伤感的悲剧结局的作用：①更好地深化主题②更好地塑造人物形象③这种结局出动人心，令人回味，发人深省。</li>
<li>   令人喜悦的大团圆结局的作用：①给读者留下广阔的想象空间，耐人寻味；②喜剧性的结尾符合人们的阅读心理，与主人公、作者的意愿构成和谐的一体，给人欣慰、愉悦之感③突出美好的人性，反映出人类向往美好生活的愿望。</li>
<li>戛然而止、留下空白结尾的作用：余音绕梁、发人深省。</li>
</ul>
</li>
</ol>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/kity@2.0.4/dist/kity.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/kityminder-core@1.4.50/dist/kityminder.core.min.js"></script><script defer="true" type="text/javascript" src="https://cdn.jsdelivr.net/npm/hexo-simple-mindmap@0.2.0/dist/mindmap.min.js"></script><link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/hexo-simple-mindmap@0.2.0/dist/mindmap.min.css"> 
      <!-- reward -->
      
    </div>
    

    <!-- copyright -->
    
    <div class="declare">
      <ul class="post-copyright">
        <li>
          <i class="ri-copyright-line"></i>
          <strong>Copyright： </strong>
          
          Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
          
        </li>
      </ul>
    </div>
    
    <footer class="article-footer">
       
<div class="share-btn">
      <span class="share-sns share-outer">
        <i class="ri-share-forward-line"></i>
        分享
      </span>
      <div class="share-wrap">
        <i class="arrow"></i>
        <div class="share-icons">
          
          <a class="weibo share-sns" href="javascript:;" data-type="weibo">
            <i class="ri-weibo-fill"></i>
          </a>
          <a class="weixin share-sns wxFab" href="javascript:;" data-type="weixin">
            <i class="ri-wechat-fill"></i>
          </a>
          <a class="qq share-sns" href="javascript:;" data-type="qq">
            <i class="ri-qq-fill"></i>
          </a>
          <a class="douban share-sns" href="javascript:;" data-type="douban">
            <i class="ri-douban-line"></i>
          </a>
          <!-- <a class="qzone share-sns" href="javascript:;" data-type="qzone">
            <i class="icon icon-qzone"></i>
          </a> -->
          
          <a class="facebook share-sns" href="javascript:;" data-type="facebook">
            <i class="ri-facebook-circle-fill"></i>
          </a>
          <a class="twitter share-sns" href="javascript:;" data-type="twitter">
            <i class="ri-twitter-fill"></i>
          </a>
          <a class="google share-sns" href="javascript:;" data-type="google">
            <i class="ri-google-fill"></i>
          </a>
        </div>
      </div>
</div>

<div class="wx-share-modal">
    <a class="modal-close" href="javascript:;"><i class="ri-close-circle-line"></i></a>
    <p>扫一扫，分享到微信</p>
    <div class="wx-qrcode">
      <img src="//api.qrserver.com/v1/create-qr-code/?size=150x150&data=http://example.com/2021/10/24/%E8%AF%AD%E6%96%87%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86v2/" alt="微信分享二维码">
    </div>
</div>

<div id="share-mask"></div>  
    </footer>
  </div>

   
  <nav class="article-nav">
    
    
      <a href="/2021/05/05/%E5%AE%BF%E5%91%BD/" class="article-nav-link">
        <strong class="article-nav-caption">下一篇</strong>
        <div class="article-nav-title">宿命</div>
      </a>
    
  </nav>

   
<!-- valine评论 -->
<div id="vcomments-box">
  <div id="vcomments"></div>
</div>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/valine@1.4.14/dist/Valine.min.js"></script>
<script>
  new Valine({
    el: "#vcomments",
    app_id: "",
    app_key: "",
    path: window.location.pathname,
    avatar: "monsterid",
    placeholder: "给我的文章加点评论吧~",
    recordIP: true,
  });
  const infoEle = document.querySelector("#vcomments .info");
  if (infoEle && infoEle.childNodes && infoEle.childNodes.length > 0) {
    infoEle.childNodes.forEach(function (item) {
      item.parentNode.removeChild(item);
    });
  }
</script>
<style>
  #vcomments-box {
    padding: 5px 30px;
  }

  @media screen and (max-width: 800px) {
    #vcomments-box {
      padding: 5px 0px;
    }
  }

  #vcomments-box #vcomments {
    background-color: #fff;
  }

  .v .vlist .vcard .vh {
    padding-right: 20px;
  }

  .v .vlist .vcard {
    padding-left: 10px;
  }
</style>

 
   
     
</article>

</section>
      <footer class="footer">
  <div class="outer">
    <ul>
      <li>
        Copyrights &copy;
        2015-2021
        <i class="ri-heart-fill heart_icon"></i> John Doe
      </li>
    </ul>
    <ul>
      <li>
        
        
        
        Powered by <a href="https://hexo.io" target="_blank">Hexo</a>
        <span class="division">|</span>
        Theme - <a href="https://github.com/Shen-Yu/hexo-theme-ayer" target="_blank">Ayer</a>
        
      </li>
    </ul>
    <ul>
      <li>
        
        
        <span>
  <span><i class="ri-user-3-fill"></i>Visitors:<span id="busuanzi_value_site_uv"></span></span>
  <span class="division">|</span>
  <span><i class="ri-eye-fill"></i>Views:<span id="busuanzi_value_page_pv"></span></span>
</span>
        
      </li>
    </ul>
    <ul>
      
    </ul>
    <ul>
      
    </ul>
    <ul>
      <li>
        <!-- cnzz统计 -->
        
        <script type="text/javascript" src='https://s9.cnzz.com/z_stat.php?id=1278069914&amp;web_id=1278069914'></script>
        
      </li>
    </ul>
  </div>
</footer>
      <div class="float_btns">
        <div class="totop" id="totop">
  <i class="ri-arrow-up-line"></i>
</div>

<div class="todark" id="todark">
  <i class="ri-moon-line"></i>
</div>

      </div>
    </main>
    <aside class="sidebar on">
      <button class="navbar-toggle"></button>
<nav class="navbar">
  
  <div class="logo">
    <a href="/"><img src="/images/ayer-side.svg" alt="Hexo"></a>
  </div>
  
  <ul class="nav nav-main">
    
    <li class="nav-item">
      <a class="nav-item-link" href="/">主页</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/archives">归档</a>
    </li>
    
  </ul>
</nav>
<nav class="navbar navbar-bottom">
  <ul class="nav">
    <li class="nav-item">
      
      <a class="nav-item-link nav-item-search"  title="Search">
        <i class="ri-search-line"></i>
      </a>
      
      
      <a class="nav-item-link" target="_blank" href="/atom.xml" title="RSS Feed">
        <i class="ri-rss-line"></i>
      </a>
      
    </li>
  </ul>
</nav>
<div class="search-form-wrap">
  <div class="local-search local-search-plugin">
  <input type="search" id="local-search-input" class="local-search-input" placeholder="Search...">
  <div id="local-search-result" class="local-search-result"></div>
</div>
</div>
    </aside>
    <div id="mask"></div>

<!-- #reward -->
<div id="reward">
  <span class="close"><i class="ri-close-line"></i></span>
  <p class="reward-p"><i class="ri-cup-line"></i>请我喝杯咖啡吧~</p>
  <div class="reward-box">
    
    <div class="reward-item">
      <img class="reward-img" src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/alipay.jpg">
      <span class="reward-type">支付宝</span>
    </div>
    
    
    <div class="reward-item">
      <img class="reward-img" src="https://cdn.jsdelivr.net/gh/Shen-Yu/cdn/img/wechat.jpg">
      <span class="reward-type">微信</span>
    </div>
    
  </div>
</div>
    
<script src="/js/jquery-2.0.3.min.js"></script>
 
<script src="/js/lazyload.min.js"></script>

<!-- Tocbot -->
 
<script src="/js/tocbot.min.js"></script>

<script>
  tocbot.init({
    tocSelector: ".tocbot",
    contentSelector: ".article-entry",
    headingSelector: "h1, h2, h3, h4, h5, h6",
    hasInnerContainers: true,
    scrollSmooth: true,
    scrollContainer: "main",
    positionFixedSelector: ".tocbot",
    positionFixedClass: "is-position-fixed",
    fixedSidebarOffset: "auto",
  });
</script>

<script src="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.js"></script>
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.css"
/>
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js"></script>

<script src="/dist/main.js"></script>

<!-- ImageViewer -->
 <!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

    <!-- Background of PhotoSwipe. 
         It's a separate element as animating opacity is faster than rgba(). -->
    <div class="pswp__bg"></div>

    <!-- Slides wrapper with overflow:hidden. -->
    <div class="pswp__scroll-wrap">

        <!-- Container that holds slides. 
            PhotoSwipe keeps only 3 of them in the DOM to save memory.
            Don't modify these 3 pswp__item elements, data is added later on. -->
        <div class="pswp__container">
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
        </div>

        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
        <div class="pswp__ui pswp__ui--hidden">

            <div class="pswp__top-bar">

                <!--  Controls are self-explanatory. Order can be changed. -->

                <div class="pswp__counter"></div>

                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>

                <button class="pswp__button pswp__button--share" style="display:none" title="Share"></button>

                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>

                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>

                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
                <!-- element will get class pswp__preloader--active when preloader is running -->
                <div class="pswp__preloader">
                    <div class="pswp__preloader__icn">
                        <div class="pswp__preloader__cut">
                            <div class="pswp__preloader__donut"></div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
                <div class="pswp__share-tooltip"></div>
            </div>

            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
            </button>

            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
            </button>

            <div class="pswp__caption">
                <div class="pswp__caption__center"></div>
            </div>

        </div>

    </div>

</div>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css">
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"></script>

<script>
    function viewer_init() {
        let pswpElement = document.querySelectorAll('.pswp')[0];
        let $imgArr = document.querySelectorAll(('.article-entry img:not(.reward-img)'))

        $imgArr.forEach(($em, i) => {
            $em.onclick = () => {
                // slider展开状态
                // todo: 这样不好，后面改成状态
                if (document.querySelector('.left-col.show')) return
                let items = []
                $imgArr.forEach(($em2, i2) => {
                    let img = $em2.getAttribute('data-idx', i2)
                    let src = $em2.getAttribute('data-target') || $em2.getAttribute('src')
                    let title = $em2.getAttribute('alt')
                    // 获得原图尺寸
                    const image = new Image()
                    image.src = src
                    items.push({
                        src: src,
                        w: image.width || $em2.width,
                        h: image.height || $em2.height,
                        title: title
                    })
                })
                var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, {
                    index: parseInt(i)
                });
                gallery.init()
            }
        })
    }
    viewer_init()
</script> 
<!-- MathJax -->

<!-- Katex -->

<!-- busuanzi  -->
 
<script src="/js/busuanzi-2.3.pure.min.js"></script>
 
<!-- ClickLove -->

<!-- ClickBoom1 -->

<!-- ClickBoom2 -->
 
<script src="/js/clickBoom2.js"></script>
 
<!-- CodeCopy -->
 
<link rel="stylesheet" href="/css/clipboard.css">
 <script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
<script>
  function wait(callback, seconds) {
    var timelag = null;
    timelag = window.setTimeout(callback, seconds);
  }
  !function (e, t, a) {
    var initCopyCode = function(){
      var copyHtml = '';
      copyHtml += '<button class="btn-copy" data-clipboard-snippet="">';
      copyHtml += '<i class="ri-file-copy-2-line"></i><span>COPY</span>';
      copyHtml += '</button>';
      $(".highlight .code pre").before(copyHtml);
      $(".article pre code").before(copyHtml);
      var clipboard = new ClipboardJS('.btn-copy', {
        target: function(trigger) {
          return trigger.nextElementSibling;
        }
      });
      clipboard.on('success', function(e) {
        let $btn = $(e.trigger);
        $btn.addClass('copied');
        let $icon = $($btn.find('i'));
        $icon.removeClass('ri-file-copy-2-line');
        $icon.addClass('ri-checkbox-circle-line');
        let $span = $($btn.find('span'));
        $span[0].innerText = 'COPIED';
        
        wait(function () { // 等待两秒钟后恢复
          $icon.removeClass('ri-checkbox-circle-line');
          $icon.addClass('ri-file-copy-2-line');
          $span[0].innerText = 'COPY';
        }, 2000);
      });
      clipboard.on('error', function(e) {
        e.clearSelection();
        let $btn = $(e.trigger);
        $btn.addClass('copy-failed');
        let $icon = $($btn.find('i'));
        $icon.removeClass('ri-file-copy-2-line');
        $icon.addClass('ri-time-line');
        let $span = $($btn.find('span'));
        $span[0].innerText = 'COPY FAILED';
        
        wait(function () { // 等待两秒钟后恢复
          $icon.removeClass('ri-time-line');
          $icon.addClass('ri-file-copy-2-line');
          $span[0].innerText = 'COPY';
        }, 2000);
      });
    }
    initCopyCode();
  }(window, document);
</script>
 
<!-- CanvasBackground -->
 
<script src="/js/dz.js"></script>
 
<script>
  if (window.mermaid) {
    mermaid.initialize({ theme: "forest" });
  }
</script>


    
    <div id="music">
    
    
    
    <iframe frameborder="no" border="1" marginwidth="0" marginheight="0" width="200" height="52"
        src="//music.163.com/outchain/player?type=2&id=421563590&auto=0&height=32"></iframe>
</div>

<style>
    #music {
        position: fixed;
        right: 15px;
        bottom: 0;
        z-index: 998;
    }
</style>
    
  </div>
</body>

</html>